package io.adrainty.bolee.insurance.models.request;

import io.adrainty.bolee.framework.commons.basic.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.io.Serial;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author AdRainty
 * @version V1.0.0
 * @since 2025/8/24 下午7:45
 */

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "保险试算DTO")
@EqualsAndHashCode(callSuper = true)
public class DoInsuranceDTO extends BaseEntity {

    @Serial
    private static final long serialVersionUID = -8991689077361901734L;

    @Schema(description = "保险ID")
    private Long insuranceId;

    @Schema(description = "保险方案ID")
    private Long insurancePlanId;

    @Schema(description = "被投保人")
    private List<String> customerRelationIds;

    @Schema(description = "保险期间开始时间")
    private LocalDateTime safeguardStartTime;

    @Schema(description = "保险系数列表")
    private List<Long> insuranceCoefficentIds;

    @Schema(description = "保险价格")
    private BigDecimal price;

    @Schema(description = "保险类型")
    private String checkRule;

    @Schema(description = "代理人ID")
    private String agentId;

    @Schema(description = "代理人名称")
    private String agentName;

    @Schema(description = "公司编号")
    private String companyNo;

}
